﻿using System;
using System.IO;
using LimitatorInterfaces;
using LimitatorInterfaces.LoadServices;

namespace LoadServices
{
    public class MicexFileLoadProvider : ILoadProvider
    {
        public object[] LoadFromSource(object param)
        {
            string filePath = param as string;

            if (string.IsNullOrWhiteSpace(filePath))
                throw new ArgumentException("Параметр param сервиса загрузки лимитов имеет неверное значение", "param");

            if (!File.Exists(filePath))
                throw new FileNotFoundException("Не удалось найти файл" + filePath);

            string[] content = File.ReadAllLines(filePath);

            if (content == null || content.Length < 1)
                throw new LoadProviderException(string.Format("Файл {0} не содержит строк лимитов", filePath));

            return content;
        }
    }
}